package com.k2data.k2app.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.k2data.k2app.constant.Constant;
import com.k2data.k2app.domain.po.TaskDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Transient;
import java.time.LocalDateTime;

/**
 * 作业列表
 * @author clb
 * @2017年11月28日16:20:40
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Job {
	/**
	 * jobid
	 */
	private Long jobId;
	/**
	 * 任务id
	 */
	private Long taskId;
	/**
	 * 任务名称
	 */
	private String taskName;
	/**
	 * 模型id
	 */
	private String modelId;
	/**
	 * 模型名称
	 */
	private String projName;


	/**
	 * 模板模型id
	 */
	private String modelIdTemplate;
	/**
	 * 模板模型名称
	 */
	private String projNameTemplate;

	/**
	 * 完成状态
	 */
	private String status;

	/**
	 *where 条件
	 */
	private String actualStmtWhere;


	/**
	 * 作业运行的开始时间
	 */
	@JsonFormat(pattern = Constant.ISO_FORMAT)
	@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
	private LocalDateTime startTime;

	/**
	 * 作业运行的结束时间
	 */
	@JsonFormat(pattern = Constant.ISO_FORMAT)
	@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
	private LocalDateTime endTime;

	/**
	 * 运行条件的开始时间
	 */
	@JsonFormat(pattern = Constant.ISO_FORMAT)
	@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
	private LocalDateTime startTimeWhere;

	/**
	 * 运行条件的结束时间
	 */
	@JsonFormat(pattern = Constant.ISO_FORMAT)
	@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
	private LocalDateTime endTimeWhere;

	/**
	 * 结果状态
	 */
	private String resultStatus;
	private String message;
	/**
	 * 是否有分析结果
	 */
	private String hasApi;
	/**
	 * 分析接口url
	 */
	private String resultApiUrl;
	/**
	 * 分析文件url
	 */
	private String hdfsPath;

	@Transient
	TaskDTO task;
}
